namespace Luban.L10N;

public interface ITextProvider
{
    void Load();

    void ProcessDatas();

    bool IsValidKey(string key);

    bool TryGetText(string key, out string text);

    void AddUnknownKey(string key);

    bool ConvertTextKeyToValue { get; }
    
    bool ReplaceTextWithKey { get; }
    
    /// <summary>
    /// 获取文本映射字典（用于反向查找）
    /// </summary>
    /// <returns>文本映射字典</returns>
    Dictionary<string, string> GetTextMapping();
}
